package com.swn.common.util;

import java.io.File;
import java.net.URLDecoder;



/**
 * 静态变量参数对象
 * 
 * @author 陶召才
 * @Date 2016年3月21日 下午1:28:00
 * @Note <这里是该类的使用注意事项> 修改日期 修改人 修改内容 <多次修改需另起一行>
 *
 *       
 *
 * @company 山东成功信息技术有限公司
 */
public class StaticParam {

	/**
	 * 获取classes路径
	 * 
	 * @author 陶召才
	 * @Date 2016年3月21日 下午1:28:10
	 * @Note 返回值如：E:/tfs_workSpace/successMainFrame/WebRoot/WEB-INF/classes/
	 *
	 * @return
	 *
	 * @return String
	 */
	public static String getClassesPath() {

		String path = StaticParam.class.getClassLoader().getResource("")
				.toString().substring(6);
		path = urlDecode(path);
		//如果获取路径无冒号，则为linux系统
		if(!path.contains(":")){
			path=File.separator+path;
		}
		
		System.out.println("path:"+path);
		return path;

	}
	
	
	public static String getThisPath() {
		String path = StaticParam.class.getClassLoader().getResource("")
				.toString().substring(6);
		path = urlDecode(path);
		//如果获取路径无冒号，则为linux系统
		if(!path.contains(":")){
			path=File.separator+path;
		}
		if(path.lastIndexOf("bin/")==-1){
			String newStr = path.substring(0, path.length()-1);
			int lastIndex = newStr.lastIndexOf("/");
			path = newStr.substring(0, lastIndex)+"/"+"bin/";
		}
		return path;

	}
	
	/**
	 * 需解码的url
	 * @param url
	 * @return
	 */
	public static String urlDecode(String url) {
		try {
			if (url == null)
				url = "";
			return URLDecoder.decode(url, "utf-8");
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
	}

	/**
	 * 获取发布之后的WebRoot根目录（工程路径）
	 * 
	 * @author 陶召才
	 * @Date 2016年3月21日 下午2:03:38
	 * @Note 
	 *
	 * @return
	 *
	 * @return String
	 */
	public static String getWebRootPath() {

		String path = getClassesPath();

		path = urlDecode(path);

		return path.substring(0, path.length() - 16);// 去掉WEB-INF\classes路径

	}
	
	
	public static String getCurrentPath(){  
	       //取得根目录路径  
	       String rootPath=StaticParam.class.getResource("/").getFile().toString();  
	       //当前目录路径  
	       String currentPath1=StaticParam.class.getResource(".").getFile().toString();  
	       String currentPath2=StaticParam.class.getResource("").getFile().toString();  
	       //当前目录的上级目录路径  
	       String parentPath=StaticParam.class.getResource("../").getFile().toString();  
	          
	       return rootPath;         
	   
	   }

	

	public static void main(String[] args) {

		System.out.println(getWebRootPath());
		System.out.println(new  File("").getAbsolutePath());
		

	}
}
